package com.china08.yxyapi.repository.db.lesson;

import java.util.List;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;

import com.china08.yxyapi.entity.db.lessons.cloud.YxyLessonsCloudLesson;

public interface YxyLessonsCloudLessonRepository extends JpaRepository<YxyLessonsCloudLesson, String> {

    YxyLessonsCloudLesson findById(String id);

    List<YxyLessonsCloudLesson> findBySchoolId(String schoolId);

    Integer countByStatusNotAndCatalogId1OrCatalogId2OrCatalogId3OrCatalogId4OrCatalogId5(int i, String catalogId,
            String catalogId2, String catalogId3, String catalogId4, String catalogId5);

    Page<YxyLessonsCloudLesson> findByStatusAndIsVisibleAndCatalogId1(int i, int j, String id, Pageable pageable);

    Page<YxyLessonsCloudLesson> findByStatusAndIsVisibleAndCatalogId2(int i, int j, String id, Pageable pageable);

    Page<YxyLessonsCloudLesson> findByStatusAndIsVisibleAndCatalogId3(int i, int j, String id, Pageable pageable);

    Page<YxyLessonsCloudLesson> findByStatusAndIsVisibleAndCatalogId4(int i, int j, String id, Pageable pageable);

    Page<YxyLessonsCloudLesson> findByStatusAndIsVisibleAndCatalogId5(int i, int j, String id, Pageable pageable);

    Page<YxyLessonsCloudLesson> findByStatusAndIsVisibleAndCatalogId1AndNameContaining(int i, int j, String id,
            String keyword, Pageable pageable);

    Page<YxyLessonsCloudLesson> findByStatusAndIsVisibleAndCatalogId2AndNameContaining(int i, int j, String id,
            String keyword, Pageable pageable);

    Page<YxyLessonsCloudLesson> findByStatusAndIsVisibleAndCatalogId3AndNameContaining(int i, int j, String id,
            String keyword, Pageable pageable);

    Page<YxyLessonsCloudLesson> findByStatusAndIsVisibleAndCatalogId4AndNameContaining(int i, int j, String id,
            String keyword, Pageable pageable);

    Page<YxyLessonsCloudLesson> findByStatusAndIsVisibleAndCatalogId5AndNameContaining(int i, int j, String id,
            String keyword, Pageable pageable);

    List<YxyLessonsCloudLesson> findTop2ByStatusAndIdNotAndIsVisibleAndCatalogId1InOrderByVvDesc(int i, String lessonId,
            int j, List<String> catalogIdList);

    List<YxyLessonsCloudLesson> findTop2ByStatusAndIdNotAndIsVisibleAndCatalogId2InOrderByVvDesc(int i, String lessonId,
            int j, List<String> catalogIdList);

    List<YxyLessonsCloudLesson> findTop2ByStatusAndIdNotAndIsVisibleAndCatalogId3InOrderByVvDesc(int i, String lessonId,
            int j, List<String> catalogIdList);

    List<YxyLessonsCloudLesson> findTop2ByStatusAndIdNotAndIsVisibleAndCatalogId4InOrderByVvDesc(int i, String lessonId,
            int j, List<String> catalogIdList);

    List<YxyLessonsCloudLesson> findTop2ByStatusAndIsVisibleAndCatalogId5InOrderByVvDesc(int i, int j,
            List<String> catalogIdList);

    Page<YxyLessonsCloudLesson> findByStatusAndIsVisibleAndCatalogId1In(int i, int j, List<String> idsList,
            Pageable pageable);

    Page<YxyLessonsCloudLesson> findByStatusAndIsVisibleAndCatalogId5In(int i, int j, List<String> idsList,
            Pageable pageable);

    Page<YxyLessonsCloudLesson> findByStatusAndIsVisibleAndCatalogId4In(int i, int j, List<String> idsList,
            Pageable pageable);

    Page<YxyLessonsCloudLesson> findByStatusAndIsVisibleAndCatalogId3In(int i, int j, List<String> idsList,
            Pageable pageable);

    Page<YxyLessonsCloudLesson> findByStatusAndIsVisibleAndCatalogId2In(int i, int j, List<String> idsList,
            Pageable pageable);

    Page<YxyLessonsCloudLesson> findByStatusAndIsVisibleAndCatalogId1InAndNameContaining(int i, int j,
            List<String> idsList, String keyword, Pageable pageable);

    Page<YxyLessonsCloudLesson> findByStatusAndIsVisibleAndCatalogId2InAndNameContaining(int i, int j,
            List<String> idsList, String keyword, Pageable pageable);

    Page<YxyLessonsCloudLesson> findByStatusAndIsVisibleAndCatalogId3InAndNameContaining(int i, int j,
            List<String> idsList, String keyword, Pageable pageable);

    Page<YxyLessonsCloudLesson> findByStatusAndIsVisibleAndCatalogId4InAndNameContaining(int i, int j,
            List<String> idsList, String keyword, Pageable pageable);

    Page<YxyLessonsCloudLesson> findByStatusAndIsVisibleAndCatalogId5InAndNameContaining(int i, int j,
            List<String> idsList, String keyword, Pageable pageable);

    Page<YxyLessonsCloudLesson> findByIsJingpinLessonAndStatusAndIsVisibleAndCatalogId1In(int i, int j, int k,
            List<String> idsList, Pageable pageable);

    Page<YxyLessonsCloudLesson> findByIsJingpinLessonAndStatusAndIsVisibleAndCatalogId1(int i, int j, int k, String id,
            Pageable pageable);

    Page<YxyLessonsCloudLesson> findByIsJingpinLessonAndStatusAndIsVisibleAndCatalogId2In(int i, int j, int k,
            List<String> idsList, Pageable pageable);

    Page<YxyLessonsCloudLesson> findByIsJingpinLessonAndStatusAndIsVisibleAndCatalogId2(int i, int j, int k, String id,
            Pageable pageable);

    Page<YxyLessonsCloudLesson> findByIsJingpinLessonAndStatusAndIsVisibleAndCatalogId3In(int i, int j, int k,
            List<String> idsList, Pageable pageable);

    Page<YxyLessonsCloudLesson> findByIsJingpinLessonAndStatusAndIsVisibleAndCatalogId3(int i, int j, int k, String id,
            Pageable pageable);

    Page<YxyLessonsCloudLesson> findByIsJingpinLessonAndStatusAndIsVisibleAndCatalogId4In(int i, int j, int k,
            List<String> idsList, Pageable pageable);

    Page<YxyLessonsCloudLesson> findByIsJingpinLessonAndStatusAndIsVisibleAndCatalogId4(int i, int j, int k, String id,
            Pageable pageable);

    Page<YxyLessonsCloudLesson> findByIsJingpinLessonAndStatusAndIsVisibleAndCatalogId5In(int i, int j, int k,
            List<String> idsList, Pageable pageable);

    Page<YxyLessonsCloudLesson> findByIsJingpinLessonAndStatusAndIsVisibleAndCatalogId5(int i, int j, int k, String id,
            Pageable pageable);

    Page<YxyLessonsCloudLesson> findByIsJingpinLessonAndStatusAndIsVisibleAndCatalogId1InAndNameContaining(int i, int j,
            int k, List<String> idsList, String keyword, Pageable pageable);

    Page<YxyLessonsCloudLesson> findByIsJingpinLessonAndStatusAndIsVisibleAndCatalogId1AndNameContaining(int i, int j,
            int k, String id, String keyword, Pageable pageable);

    Page<YxyLessonsCloudLesson> findByIsJingpinLessonAndStatusAndIsVisibleAndCatalogId2InAndNameContaining(int i, int j,
            int k, List<String> idsList, String keyword, Pageable pageable);

    Page<YxyLessonsCloudLesson> findByIsJingpinLessonAndStatusAndIsVisibleAndCatalogId2AndNameContaining(int i, int j,
            int k, String id, String keyword, Pageable pageable);

    Page<YxyLessonsCloudLesson> findByIsJingpinLessonAndStatusAndIsVisibleAndCatalogId3InAndNameContaining(int i, int j,
            int k, List<String> idsList, String keyword, Pageable pageable);

    Page<YxyLessonsCloudLesson> findByIsJingpinLessonAndStatusAndIsVisibleAndCatalogId3AndNameContaining(int i, int j,
            int k, String id, String keyword, Pageable pageable);

    Page<YxyLessonsCloudLesson> findByIsJingpinLessonAndStatusAndIsVisibleAndCatalogId4InAndNameContaining(int i, int j,
            int k, List<String> idsList, String keyword, Pageable pageable);

    Page<YxyLessonsCloudLesson> findByIsJingpinLessonAndStatusAndIsVisibleAndCatalogId4AndNameContaining(int i, int j,
            int k, String id, String keyword, Pageable pageable);

    Page<YxyLessonsCloudLesson> findByIsJingpinLessonAndStatusAndIsVisibleAndCatalogId5InAndNameContaining(int i, int j,
            int k, List<String> idsList, String keyword, Pageable pageable);

    Page<YxyLessonsCloudLesson> findByIsJingpinLessonAndStatusAndIsVisibleAndCatalogId5AndNameContaining(int i, int j,
            int k, String id, String keyword, Pageable pageable);

    List<YxyLessonsCloudLesson> findByStatus(int i);
}
